package controllers;

import java.sql.Date;
import java.sql.Time;
import java.util.GregorianCalendar;

import javax.swing.JOptionPane;

import models.*;
public class Modificar_Dia_Agenda_Controller {
	
	private static Modificar_Dia_Agenda_Controller instancia;
	private float frecuencia;
	private GregorianCalendar cInicial, cFinal;
	private Sistema sis= Sistema.getInstancia();
	
	public static Modificar_Dia_Agenda_Controller getInstancia()
	{
		if (instancia == null)
		{
			instancia = new Modificar_Dia_Agenda_Controller();
		}
		return instancia;
	}


	public boolean validarCampos(String frec, GregorianCalendar gregorianCalendar, GregorianCalendar gregorianCalendar2) {
		boolean validar=true;
		if(gregorianCalendar.getTime().getHours()== gregorianCalendar2.getTime().getHours())
		{
			JOptionPane.showMessageDialog(null, "no puede seleccionar el mismo horario inicial que final");
			validar=false;
		}
		else
		{
			cInicial= gregorianCalendar;
			cFinal= gregorianCalendar2;
		}
		
		try{
			frecuencia= Float.parseFloat(frec);
			if(frecuencia < 0.30 || frecuencia > 2)
			{
				validar= false;
			}
		}catch (Exception e) {
			validar=false;
			JOptionPane.showMessageDialog(null, "Verificar el valor ingresado para la frecuencia de turnos");
		}
		
		return validar;
		
	}
	public Dia_Semana modificarDiaSemana(Dia_Semana diaActual, boolean diaLaboral, Time hI, Time hF) {
		if(diaLaboral){
			diaActual.setFrecuencia(frecuencia);
			diaActual.setHorarioInicial(hI);
			diaActual.setHorarioFinal(hF);	
		}
		else
		{
			diaActual.setFrecuencia(0);
			diaActual.setHorarioInicial(null);
			diaActual.setHorarioFinal(null);				
		}	
		diaActual.setEsLaboral(diaLaboral);
		sis.actualizarConfiguracionDia(diaActual);
		
		return diaActual;
	}

}
